package com.zx._12_算法.数据结构.queue;

public class Demo2 {

    // 斐波那契数列（普通模式）-- 变种题型 楼梯的爬法
    // 公式是：f(n) = f(n-1) + f(n-2)
    // 斐波那契数列是一个非常经典的问题，有着各种各样的解法，比较常见的是递归算法，其实也可以使用队列来实现
    public static void main(String[] args) {
        Queue queue = new Queue();

        int n = 8;
        int f1 = 1;
        int f2 = 1;
        queue.enqueue(f1);
        queue.enqueue(f2);

        for (int i = 3; i <= n; i++) {
            Integer n1 = queue.dequeue();
            Integer n2 = queue.dequeue();

            queue.enqueue(n2);
            queue.enqueue(n1 + n2);
        }

        queue.dequeue();
        System.out.println(queue.head());
    }

}
